package pe.com.cotelasa.scp.dominio.service;

import java.util.Collection;
import java.util.List;

import pe.com.cotelasa.scp.dominio.common.ResultadoServicio;
import pe.com.cotelasa.scp.dominio.excepcion.ServiceException;
import pe.com.cotelasa.scp.entidad.Empresa;

public interface IServicioEmpresa {

    public Collection<Empresa> listarEmpresasActivas() throws ServiceException;

    public Empresa conseguirEmpresaPorId(Integer idEmpresa) throws ServiceException;

    public Collection<Empresa> listarTodasEmpresas() throws ServiceException;

    public boolean validarRuc(String ruc) throws ServiceException;
    
    public boolean validarRazonSocial(String razonSocial) throws ServiceException;

    public void guardarEmpresa(Empresa empresa) throws ServiceException;

    public ResultadoServicio actualizarEmpresa(Empresa empresa) throws ServiceException;

    public Collection<Empresa> listarServiciosPorFiltro(Empresa empresa) throws ServiceException;
    
    public Empresa conseguirEmpresaConUbigeo(Integer idEmpresa) throws ServiceException;
    
    public List<Empresa> obtenerListaEmpresasPorUsuario(Integer idUsuario) throws ServiceException;
    
    public Empresa buscarEmpresaPorRS(String razonSocial) throws ServiceException;
    
}
